home *** CD-ROM | disk | FTP | other *** search
/ Power Tools 1993 October - Disc 2 / Power Tools (Disc 2)(October 1993)(HP).iso / hotlines / ccsyhl / sisl4 / script.txt < prev    next >
Text File  |  1993-05-21  |  29KB  |  587 lines

  1. SCRIPT FOR HP SOCKETS PRESENTATION ( May 1992 )
  2.  
  3. This script contains fairly detailed information on HP Sockets. It is
  4. up to the presenter to extract the right level of information to
  5. present to his/her customers. With this also comes a companion package:
  6. "Questions & Answers on HP Sockets" which helps you in answering
  7. questions related to the HP Sockets for non-HP platforms, positioning
  8. with DCE, BSD Sockets,...etc...
  9.  
  10. The sequence of information presented in this script is as following:
  11.  
  12.  - Product definition
  13.  - Why use HP Sockets
  14.  - Example of where HP Sockets can   be used
  15.  - Problems in providing information flow between applications/
  16.    processes
  17.  - HP Sockets functionalities
  18.  - Platforms supported
  19.  - Success stories
  20.  - Benefits in using HP Sockets
  21.  
  22. At the end, this document also gives information on 3 back-up slides:
  23.  - Value added on top of file transfer
  24.  - Components of HP Sockets
  25.  - Application integration (technical areas involved in application
  26.    development and integration)
  27.  
  28.  
  29.  
  30. Slide 1: (L4S1S01)
  31.  
  32. HP Sockets eases the communication between applications no matter where
  33. they reside.  Communicating applications can be residing on the same
  34. machine, on different machines of the same type or on different
  35. machines of different types. The integrated system which is composed of
  36. a set of communicating applications can be designed to be modular and
  37. extensible.  You can start creating an integrated system composed of a
  38. small set of applications running on a few nodes. Later, you can expand
  39. that integrated system to include more applications and more nodes with
  40. no or minimal impact on the current integrated system.
  41.  
  42. Slide 2: Why use HP Sockets? (L4S1S02)
  43.  
  44.  
  45.  
  46. Major corporations and various HP divisions have been relying on HP
  47. Sockets to pass information to run their business. They reported that
  48. the use of HP Sockets:
  49.  
  50.  - Improves information flow and therefore improves their operational
  51. efficiency. Before the use of HP Sockets, they used files to share
  52. information between applications. Information is usually about a day
  53. old. Now that the market has become more and more competitive, it is
  54. critical that business decision makers and decision systems get up-to-
  55. date information. HP Sockets helps them in getting the right
  56. information at at the right time. That in turn helps in improving their
  57. operational efficiency.
  58.  
  59.  - Improves the development and maintenance of integrated systems by 30
  60. to 75%. HP Sockets provides a consistent API on all HP Sockets
  61. supported platforms for processes to communicate with each other no
  62. matter where they reside. The developers do not have to learn the
  63. different technologies provided by different operating systems and
  64. network services to provide interprocess communication for applications
  65. running in an heterogenous environment. The developers can then write
  66. less code in developing integrated systems. By reducing the learning
  67. time on different technologies and writing less code in the development
  68. of integrated systems, the maintenance cost of the integrated systems
  69. is also greatly reduced.
  70.  
  71.  - The use of HP Sockets allows the development of integrated systems
  72. that are flexible to change with the changing environment. The use of
  73. HP Sockets minimizes inter-dependencies between commumicating
  74. processes. It allows the integrated systems to be flexible to change.
  75. Also the programmatic interface to HP Sockets is a set of library
  76. routines which can be called from any applications written in C,
  77. Pascal, FORTRAN or COBOL. HP Sockets allows communication between new
  78. and existing applications. It is a tool that bridges new and old
  79. technologies. You can also start to develop a small integrated system
  80. with two or three applications running on the same node or on two
  81. nodes. Later, you can easily expand the integrated system with
  82. additional processes or nodes.
  83.  
  84. To understand why major corporations reported the above points; we will
  85. present an example of where HP Sockets can be used. Also through this
  86. example, we will point out the problems to be solved in order to
  87. provide communication between different processes running in an
  88. heterogenous environment of computers.
  89.  
  90. Slide 3: (L4S1S03)
  91.  
  92.  
  93.  
  94. The following is an example of where HP Sockets can be used to provide
  95. up-to- date information to different systems and users in a customer
  96. services environment, for example a car rental company. When a client
  97. comes to a reservation desk, the reservation sales person will be
  98. running an instance of the reservation application. Data entered to the
  99. reservation application includes: type of car, number of days the car
  100. will be rented, type of payment (cash, visa, ...),  where the car will
  101. be returned ... The reservation application communicates this
  102. information to the rate application to get the rate to charge for a
  103. specific customer. Different regions may have different rates for
  104. different type of cars and different time periods (week-end, rate/day,
  105. special promotion for weekly rental...). So there is communication
  106. between applications running on the same machine.  The reservation
  107. application may communicate with another reservation application
  108. running on another machine if the car rented will be returned at
  109. another location.  The reservation application also communicates with
  110. the central billing application if the car is rented using Visa or
  111. Master Card. So there is also communication between applications over
  112. the network. In addition, there are many instances (copies) of the same
  113. application (reservation application) communicating with other
  114. applications.  In other words, each application must know which
  115. instance of an application it should be communicating (replying) to.
  116.  
  117. In order for information to flow in this environment, the following
  118. problems must be solved.
  119.  
  120. Slide 4: Data Transport problems (L4S1S04)
  121.  
  122. Data transport means moving data from one process to another process.
  123.  
  124. The major problems in data transport come from the differences in:
  125.  
  126.  - the different operating systems: different operating systems provide
  127. different means for inter-process communication. For example, HP-UX
  128. provides message queues, shared memories, pipes, ... for inter-process
  129. communication within a node while MPE/iX provides mapped files, message
  130. files,... for inter- process communication within a node. Therefore a
  131. developer needs to be familiar with the capabilities and the inter-
  132. process communication interfaces provided by the different operating
  133. systems.
  134.  
  135.  - the different network services: different network services are used
  136. to communicate with processes running on different platforms. Even when
  137. the same network services are used for communication over the network;
  138. the interface t the network services is different on the different
  139. platforms. For example, BSD Sockets is a standard for inter-process
  140. communication over TCP/IP protocol. Different hardware/software vendors
  141. provides different interfaces to BSD Sockets.
  142.  
  143.  - the location of the applications communicating with each other. If
  144. they are on the same machine; inter-process communication provided by
  145. the operating system is to be used. If the communicating processes are
  146. on different machines; inter-process communication provided by the
  147. network services is to be used.
  148.  
  149. Therefore there is a lack of consistency in communication methods which
  150. should be hidden from the developer of an integrated system.  This lack
  151. of consistency communication methods creates a long learning curve for
  152. the developers of integrated systems as they have to learn the
  153. different technologies provided by the different operating systems and
  154. the different network services. Also, the developers have to take care
  155. of abnormal conditions such as the receiving process is not running,
  156. the network is down or the receiving node is down.
  157.  
  158. Slide 5: Data Compatibility problems (L4S1S05)
  159.  
  160. The data compatibility problems are mainly created by applications
  161. being very specific:
  162.  
  163.  - Even if two applications use common data, for example a part number,
  164. one may represent that element as an integer and the other may
  165. represent it as a string.
  166.  
  167.  - Applications are written in different programming languages.
  168. Different compilers have different alignment rules and different data
  169. representations. The following are 3 examples that show differences
  170. between the same type of compilers running on s800 and s300:
  171.  
  172.  - the C compiler on s300 has a 4-byte alignment for the "double" data
  173. type unless the "double" data type field is part of a structure
  174. (record) in which case it will have a 2-byte alignment. The C compiler
  175. on s800 has a 8-byte alignment for the "double" data type.
  176.  
  177.  - The FORTRAN compiler on s300 has a 4-byte alignment for the "double"
  178. data type while the FORTRAN compiler on s800 has an 8-byte alignment.
  179.  
  180.  - The Pascal compiler on s300 has a 4-byte alignment for the "double"
  181. data type while the Pascal compiler on s800 has an 8-byte alignment.
  182. Therefore, to enable meaningful communication between applications
  183. written in different languages, the differences in alignment and in
  184. data representation of the different compilers running on the different
  185. machines must be resolved. For example, a C application on a s300
  186. sending a record containing a field of type double would have to align
  187. it on an 8-byte boundary before sending it to a C application on a s800
  188. for the latter application to be able to use the data received.
  189.  
  190.  - Applications may be running on different machines which have
  191. different data representation as some machines may be 16-bit machines
  192. and some may be 32-bit machines.
  193.  
  194. So for an application A to send meaningful information to an
  195. application B; application A has to do data translation, data
  196. conversion and/or data manipulation to put the data in a format that
  197. application B can understand.  Or application B has to know what data
  198. was sent by application A and then do the data translation,
  199. conversion/manipulation to put the data in its format. All of these
  200. data compatibility problems create inter-dependence between
  201. communicating processes.
  202.  
  203. The following slides present HP Sockets functionalities that solve the
  204. above mentioned problems.
  205.  
  206. Slide 6: HP Software Integration Sockets (L4S1S06)
  207.  
  208. This slide gives an overview of the functionalities provided by HP
  209. Sockets.
  210.  
  211.  - HP Sockets provides data transport, moving data from one process to
  212. another process no matter where processes reside. The sending
  213. applications do not have to know where the receiving applications
  214. resides. Location transparency is provided to all processes
  215. communicating with each other using HP Sockets. Data can be
  216. communicated through files or messages.
  217.  
  218.  - HP Sockets minimizes inter-dependence between communicating
  219. processes by providing data translation, conversion and manipulation to
  220. put data in the format expected by the receiving applications.
  221. Applications can communicate with each other using their original
  222. formats. HP Sockets will put the data in the format expected by the
  223. receiving applications transparently to the sending applications.
  224.  
  225.  - HP Sockets also allows applications to programmatically start or
  226. stop local or remote processes. This functionality is useful in an
  227. integrated system environment where a certain application or process
  228. needs to be run only when data become available.
  229.  
  230.  - All of these functionalities are provided through a common set of 12
  231. access routines on all the platforms supported by HP Sockets.
  232.  
  233.  - HP Sockets also provides a system administration tool to ease the
  234. management of the integrated environment. This tool is used to
  235. coordinate the start up and shutdown of HP Sockets on various machines
  236. throughout the entreprise.
  237.  
  238.  - HP Sockets also provides a tool for the developers to simulate an
  239. application running in the integrated environment.  This tool is
  240. helpful for testing and debugging the integrated environment.
  241.  
  242. Slide 7: HP Sockets Features (L4S1S07)
  243.  
  244. In a little more detail, the transport functionality of HP Sockets
  245. includes:
  246.  
  247.  - Connection/Session Management. HP Sockets does all connection
  248. management. An application communicating with multiple processes does
  249. not have to establish communication with each of the processes it wants
  250. to communicate with. It just connects to HP Sockets with one HP Sockets
  251. call and HP Sockets takes care of establishing communication with its
  252. "receiving" processes no matter where they reside (local or remote
  253. systems).
  254.  
  255.  - HP Sockets supports both messages and files transfer.
  256.  
  257.  - All calls to HP Sockets routines can be synchronous or asynchronous.
  258. The asynchronous functionality of HP Sockets allows applications to
  259. gain better performance. Applications can send multiple messages
  260. asynchronously and not have to wait for the completion of one send
  261. message before starting another send message.
  262.  
  263.  - HP Sockets provides a mail box for each instance of an application
  264. running in the integrated environment. With the mail box concept, the
  265. sending application can send messages when it pleases and the receiving
  266. application can service requests (messages received) when it pleases.
  267. Also, the sending applications can send messages to a receiving
  268. application which is not running. Once a receiving application is
  269. running, it can pick up the messages from its mail box.
  270.  
  271.  - When the network is down or when the receiving node is down, HP
  272. Sockets   spools all critical messages (on the sending node) to be sent
  273. over the   network or to the "down" receiving node. HP Sockets will
  274. then try to   reconnect as soon as the network comes back up and will
  275. then send the spooled   messages to the mail boxes of the receiving
  276. applications transparently to the   sending applications.
  277.  
  278.  - Messages can be read destructively or non-destructively. This
  279. functionality is useful for applications which need to log the message
  280. to make sure that the request is processed before deleting it from the
  281. mail box.
  282.  
  283.  - There are many options in reading a message from the mail box.
  284. Messages can be read sequentially (First In First Out), by priority
  285. (when a process sends a message, it can tag it with a specific integer
  286. value. That tag value can be used by the receiving application to
  287. prioritize requests it receives.), or by process logical name (each
  288. process in the HP Sockets domain initiates communication with HP
  289. Sockets through a logical name which is unique in the whole HP Sockets
  290. domain. That logical process name is defined in the HP Sockets
  291. configuration files.).
  292.  
  293.  - HP Sockets can also guarantee the delivery of messages.
  294.  
  295.  - Processes communicating through HP Sockets can request that they are
  296. notified when a message or a file arrives. This functionality is
  297. useful, for example in the case of applications which only receive
  298. requests to take care of special events. The frequency of occurence of
  299. special events is usually low. With message or file arrival
  300. notification, these applications would not have to poll for incoming
  301. requests.
  302.  
  303. Slide 8: HP Sockets Features (L4S1S08)
  304.  
  305.  
  306.  
  307. HP Sockets provides high performance data translation, manipulation and
  308. record reformatting to put data in the format expected by the receiving
  309. applications. This functionality of HP Sockets helps in minimizing
  310. inter-dependence between applications in an integrated environment.  HP
  311. Sockets handles all languages specifics. It reconciles differences in
  312. alignments, array formats,...etc... It also restructures records (in
  313. other words puts fields of a record in a different sequence than its
  314. original sequence, deletes fields from a record or adds more fields to
  315. a record) and handles overflow/ underflow conditions (like moving a
  316. large integer to a small integer). It handles truncation and padding.
  317.  
  318. A sending application can send a record of 10 fields. The receiving
  319. application may only want 2 out of those ten fields. HP Sockets will
  320. send the wanted 2 fields in the format expected by the receiving
  321. application and delete the other eight fields.
  322.  
  323. Another example is that a sending application can send a record of 2
  324. fields. The receiving application may want a 5 field record. HP Sockets
  325. allows you to initialize or assign constant values to the 3 additional
  326. fields;and it will send a record of 5 fields in the format expected by
  327. the receiving application.
  328.  
  329. Slide 9: Data manipulation example (L4S1S09)
  330.  
  331. The MRP and the Work-Cell records basically contain the same
  332. information. However, the field sequence is different and the data type
  333. of the "qty" field is different in the two records. HP Sockets will
  334. take care of putting data sent by the MRP system in the format expected
  335. by the Work-Cell system.
  336.  
  337. Background information:
  338.  
  339. For HP Sockets to know how to put data in the format expected by the
  340. receiving applications, you need to define the data structure of the
  341. messages of the sending applications and the data structure of the
  342. messages expected by the receiving applications in the HP Sockets
  343. configuration files. You also need to let HP Sockets knows how to
  344. manipulate the data. In this example, you define both the data
  345. structure of the MRP and the Work-Cell records. For data manipulation
  346. statement (DML statement), it is simple: Move MRP to WORK-CELL. The
  347. data manipulation language is very similar to COBOL statements.
  348.  
  349. Slide 10: HP Sockets Features (L4S1S10)
  350.  
  351. This slide is to emphasize that communication using HP Sockets is very
  352. simple.
  353.  
  354. Slide 11: HP Sockets Features (L4S1S11)
  355.  
  356. The following are some of the features provided by the HP Sockets
  357. administration and testing/simulation tools.
  358.  
  359. * Central administration, switchable administration, and whole or
  360. partial system start up and shutdown.
  361.  
  362. In the integrated environment using HP Sockets there is a central
  363. administration node.  On that node, you can issue just one command to
  364. start or stop the whole HP Sockets domain (a set of nodes which run HP
  365. Sockets), a selected number of nodes in the HP Sockets domain, or a
  366. single node in the HP Sockets domain. Even though there is central
  367. administration; there will not be a central point of failure.
  368.  
  369. When the administration node is down, the rest of the nodes in the HP
  370. Sockets domain still operate as normal. You can also have another node
  371. in the HP Sockets domain becomes the administration node.
  372.  
  373. * System status reporting
  374.  
  375. From any node in the HP Sockets domain, you can get the status of HP
  376. Sockets running on that node or other nodes in the HP Sockets domain.
  377.  
  378. * Graceful shutdown
  379.  
  380. When you bring down HP Sockets gracefully using the HP Sockets shutdown
  381. command; you have the option of requesting HP Sockets to save all
  382. undelivered messages and then later request HP Sockets to restore them
  383. when you bring HP Sockets back up.
  384.  
  385. * Interface simulation
  386.  
  387. HP Sockets also provides a tool, the command processor, which allows
  388. you to interactively call the HP Sockets routines. You interact with
  389. each routine in the format of command language which prompts you for
  390. the input values to the parameters of the HP Sockets routines. You can
  391. use this tool to simulate an application running in the integrated
  392. environment, for example, by sending and receiving messages. It is also
  393. a very useful tool to test or debug the integrated environment.
  394.  
  395. * Reconfiguration
  396.  
  397. Using HP Sockets to develop integrated systems, you can move
  398. applications to other nodes or duplicate integrated systems from one
  399. site to another site without any recoding.  The following slide
  400. (L4S1S11) is an example that demonstrates theses capabilities of HP
  401. Sockets.
  402.  
  403. Slide 12: (L4S1S12)
  404.  
  405. This example illustrates changes in the configuration of the integrated
  406. system in the customer services environment shown earlier. The central
  407. billing application is ported from the IBM machine to the HP3000. The
  408. company standardizes the customer services applications and the
  409. platforms these applications run on. The company chose HP9000 s800 as
  410. the platforms for their customer services applications.
  411.  
  412. The integrated system still works in this new configuration without any
  413. recoding. All the user needs to do is to change the HP Sockets
  414. configuration files to tell HP Sockets where the processes are.
  415.  
  416. Slide 13: HP Software Integration Sockets (L4S1S13)
  417.  
  418. HP Sockets runs native on HP9000 series 300, 400, 600, 700, 800 and
  419. HP3000 MPE/iX. We also extend the functionalities of HP Sockets to
  420. other vendors platforms through the HP Sockets for non-HP platforms
  421. which are implemented using the client/server model.  The standard set
  422. of HP Sockets access routines is provided on all supported platforms.
  423. Currently we support HP9000, HP 3000, IBM running MVS/TSO, DOS, SUN,
  424. AS400, & VAX/VMS.  The network protocol we use for process
  425. communication across the network is TCP/IP. We will be delivering HP
  426. Sockets connection to VAX/VMS and AS400 soon.
  427.  
  428. When OSI becomes more widely supported; we will support it.
  429.  
  430. Slide 14..17: Success stories  (L4SIS14), (L4SIS15), (L4SIS16),
  431. (L4SIS17)
  432.  
  433. Points out the "system/environment" where HP Sockets is used, the time
  434. they took for pilot implementation, the time they took to have system
  435. in production, and the number of nodes and/or applications
  436. communicating with each other.
  437.  
  438. For success stories (L4S1S15), the integrated environment first started
  439. with a few nodes. Now it is expanded to 20 nodes with 275 communicating
  440. processes. They said they are going to expand the integrated system to
  441. involve 30 nodes with 600 to 800 communicating processes in a couple of
  442. years.  A few customers have been asking for HP Sockets to provide the
  443. message broadcasting functionality which allows a process to send a
  444. message to multiple processes in the HP Sockets domain with just one
  445. send message call. This customer implemente the message broadcasting
  446. functionality themselves utilizing the current functionalities of HP
  447. Sockets.
  448.  
  449. For success stories on Northern Telecom, we received a letter from the
  450. Northern Telecom Market Support manager. He states that:
  451.  
  452.  - "... the SMS project has been awarded the President's Award of
  453. Excellence in the Innovation category. I wish to share with you given
  454. that your contribution played a substantial role in enabling us to
  455. achieve our goal..."
  456.  
  457. The President's Award of Excellence if one of the highest forms of
  458. recognition in Northern Telecom company.
  459.  
  460. Slide 18: HP Sockets Benefits (L4S1S18) Information from slide 2
  461. (L4S1S02)
  462.  
  463. The following are backup slides:
  464. ================================
  465.  
  466. Slide 19: HP Sockets components (L4S1S19)
  467.  
  468. All of the components of HP Sockets are in blue on this slide.
  469.  
  470.  - HP Sockets provides a standard set of API or Access routines on all
  471. the platforms it supports. All applications have a standard method to
  472. communicate with each other no matter where they reside. All
  473. applications can send and receive data in their "original" format. HP
  474. Sockets will put data in the format expected by the receiving
  475. applications.
  476.  
  477.  The standard set of HP Sockets access routines can be called directly
  478. from the application (or embedded in the application, for example
  479. application B on this slide) or from a process separate from the
  480. application (case of application A). It is up to the developers to
  481. decide where to call the HP Sockets routines. In general, if the
  482. application allows calls to user written routines, the application can
  483. call HP Sockets routines directly to communicate with other
  484. applications. If the application does not allow calls to user written
  485. routines, the developers of integrated systems would have to write a
  486. separate process which accesses the application data and then uses HP
  487. Sockets access routines to communicate that data to other processes.
  488. That separate process was named the "application adaptor" on this
  489. slide.
  490.  
  491.  - The second component of HP Sockets is the command processor. It is a
  492. tool which allows the users to interactively call the HP Sockets access
  493. routines. It can be used to simulate an application running in the
  494. integrated environment for testing and debugging purposes.
  495.  
  496.  - The third component is the HP Sockets configuration files. These
  497. files allow users to specify the configuration of the integrated system
  498. which includes information on the machines, the network node addresses,
  499. location of the communicating processes, the data structures of
  500. messages in communication, how data are to be manipulated,...etc...
  501.  
  502.  - The fourth component is the HP Sockets manager. This tool helps the
  503. users in administering the integrated environment. The users use it to
  504. validate the configuration files, to start/stop the whole or selected
  505. nodes of the integrated system,...
  506.  
  507.  - The fifth component is the run time modules of HP Sockets. On each
  508. node in the integrated system, there is a set of run time modules of HP
  509. Sockets running to do the data transport and data conversion, data
  510. translation and data manipulation. (It is shown on this slide as
  511. composed of the 3 boxes labelled: data translator, data manipulator and
  512. data transporter)
  513.  
  514. Slide 20: Value added on top of file transfer schemes. (L4S1S20)
  515.  
  516. Even if the developers decide that file transfer is the best way to
  517. share data among a few communicating applications, the use of HP
  518. Sockets provides the following additional values:
  519.  
  520.  - Data gets processed immediately when it becomes available. HP
  521. Sockets provides process control and file arrival notification. With
  522. these two functions, a sending application can programmatically start
  523. up the receiving applications to process data once it has sent the
  524. files. When data processing is complete, the receiving applications
  525. send a message to the sending application to let it know that the task
  526. is complete. The sending application can then make a programmatic call
  527. to HP Sockets to stop the receiving applications to minimize CPU usage.
  528. If the receiving applications need to be run all the time to process
  529. several operations, they can request HP Sockets to notify file arrival
  530. so that they don't have to poll to detect that there are files to be
  531. processed.
  532.  
  533.  - The sequence of tasks can be coordinated better improving the
  534. timeliness and correctness of data to be processed. Sending
  535. applications collect data and upon completion, they can
  536. programmatically send data collected to the appropriate receiving
  537. processes. No manual steps are involved. That reduces errors and
  538. confusion about which files contain the most up-to-date information.
  539.  
  540. In most cases, message transfer has the following advantages over file
  541. transfer:
  542.  
  543.  - Using the message transfer capability of HP Sockets, the receiving
  544. application can get data in the right format transparently to the
  545. sending and the receiving applications.
  546.  
  547.  - Applications in the integrated system can gain access to up-to-date
  548. information. Information stored in a file are usually not up-to-date.
  549.  
  550.  - You can use message transfer to build an interface to files. Instead
  551. of storing data in files and then transfering them at certain time
  552. intervals, you can send messages to the receiving applications and have
  553. these applications store data in files. Doing it that way:
  554.  
  555.  - Data is put in the format expected by the receiving applications, -
  556. data availability is improved. When there is problem with the sending
  557. machines or the network, data is already available for the receiving
  558. applications to process.
  559.  
  560. Slide 21: Application integration (L4S1S21)
  561.  
  562. In the development of applications, the developers have to make
  563. decisions on what languages or end-user tools to use, what kind of user
  564. interface technology to use, what data management packages to use, what
  565. communication services and what platforms to develop on. The selection
  566. of what to use in these five areas depends on the functionality of the
  567. application to be developed and the experience of the developers. Each
  568. application uses a combination of technologies in these 5 different
  569. areas.  Therefore when you talk about application integration, it often
  570. refers to :
  571.  
  572.  - integration which provides a common user interface to all
  573. applications involved in the integrated system.
  574.  
  575.  - integration which allows direct access to data no matter where it
  576. resides (in ALLBASE or DB2 databases).
  577.  
  578.  - integration of communication services which provides a standard
  579. means for applications to communicate with each other no matter where
  580. they are.  The difference in data representation caused by the
  581. different compilers and hardware should be transparent to the
  582. communicating applications.
  583.  
  584. HP Sockets solves the communication problems taking into consideration
  585. the fact that applications are written in different languages and run
  586. on different operating systems.
  587.